/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.celiosilva.simbanc.util;

import com.celiosilva.simbanc.exceptions.PreenchimentoObrigatorioException;
import com.celiosilva.simbanc.exceptions.RegraNegocioException;
import java.awt.Color;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JTextField;

/**
 *
 * @author celio@celiosilva.com
 */
public class Validador {

    public static final void validarFormatoEMail(String email) throws RegraNegocioException{
        if (email == null)
            throw new NullPointerException("Email é nulo e não pode ser validado");

        String pattern = "\\w[\\w\\.-]+\\w@[\\w]+(\\.[\\w]+)+";
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(email);
        if (m.find()){
            if (m.group().length() == email.length())
                return;
        }
        throw new RegraNegocioException(String.format("O E-mail %s é inválido", email));
    }

    public static final void validarPreenchimentoObrigatorio(JTextField... campos) throws PreenchimentoObrigatorioException {
        boolean excecaoDeveSerLancada = false;
        for (JTextField campo: campos){
            campo.setBackground(Color.WHITE);
            String informacao = campo.getText();
            if (informacao == null || informacao.length() == 0){
                excecaoDeveSerLancada = true;
                campo.setBackground(Color.YELLOW);
            }
        }
        if (excecaoDeveSerLancada){
            throw new PreenchimentoObrigatorioException("Os campos destacados possuem preenchimento obrigatório!");
        }
    }



}
